10 REM ADRESSEN-REGISTER ========64 20 REM (P) COMMODORE WELT TEAM = 30 REM ============================ 40 REM (C) BY AXEL KOHLMANN = 50 REM = 60 REM VERSION 2.1 40Z/ASCII = 70 REM VC-20 + 3K + 1530/1541 = 80 REM C-64 + 1530/1541/1571 = 90 REM ============================ 100 GOTO370 110 GF$=CHR$(034):Y3$=CHR$(162) 120 Y5$=CHR$(166):KL$=CHR$(091) 130 U4$=CHR$(191):SS$=CHR$(047) 140 KR$=CHR$(093) 150 SL$=CHR$(014):C4$=CHR$(017) 160 RN$=CHR$(018):HE$=CHR$(019) 170 RE$=CHR$(028):C3$=CHR$(029) 180 GR$=CHR$(030):BL$=CHR$(031) 190 S1$=CHR$(032) 200 FA$=CHR$(130):FB$=CHR$(131) 210 BK$=CHR$(144):C2$=CHR$(145) 220 RF$=CHR$(146):CL$=CHR$(147) 230 PU$=CHR$(156):C1$=CHR$(157) 240 CY$=CHR$(159) 250 S2$=CHR$(160):S3$=CHR$(224) 260 Z1$=CHR$(096):Z2$=CHR$(098) 270 Z3$=CHR$(123):Z4$=CHR$(171) 280 Z5$=CHR$(173):Z6$=CHR$(174) 290 Z7$=CHR$(176):Z8$=CHR$(177) 300 Z9$=CHR$(178):ZA$=CHR$(179) 310 ZB$=CHR$(189):M1$=CHR$(125) 320 D2$=C4$+C4$:D3$=D2$+C4$ 330 D4$=D3$+D2$:D5$=D4$+C4$ 340 D6$=D5$+C4$:D7$=D6$+C4$ 350 D8$=D7$+C4$:D9$=D8$+C4$ 360 RETURN 370 REM *************************** 380 REM C-64 FARBE BLAU/WEISS ***** 390 POKE53280,6:POKE53281,1 400 REM VC-20 FARBE BLAU/WEISS **** 410 REM POKE36879,30 420 REM *************************** 430 GOSUB110:GOTO710 440 REM ******************* MENUE * 450 REM ************ DATENEINGABE * 460 Z= 2030 470 PRINTCL$D7$RE$Z7$;:FORI=1TO19:PRINTZ1$;:NEXT:PRINTZ6$ 480 PRINTM1$" GEBEN SIE DIE "M1$ 490 PRINTM1$" EINZELNEN ADRESS- "M1$ 500 PRINTM1$" ANGABEN WIE NAME, "M1$ 510 PRINTM1$"STRASSE, WOHNORT..."M1$ 520 PRINTM1$"JEWEILS DURCH EINEN"M1$ 530 PRINTM1$" SCHRAEGSTRICH "GF$SS$GF$M1$ 540 PRINTM1$" VONEINANDER "M1$ 550 PRINTM1$" GETRENNT EIN. "M1$ 560 PRINTM1$" DIE ERSTE ANGABE "M1$ 570 PRINTM1$" IST ENTSCHEIDEND "M1$ 580 PRINTM1$" FUER SUCHEN&SORT. "M1$ 590 PRINTM1$" "M1$ 600 PRINTM1$" ZUR FUNKTIONSWAHL "M1$ 610 PRINTM1$" "RN$"RETURN"RF$"-TASTE "M1$ 620 PRINTZ5$;:FORI=1TO19:PRINTZ1$;:NEXT:PRINTZB$ 630 PRINTHE$BL$RN$" GEBEN SIE DATEN EIN "RF$:L3$=C1$+C1$+C1$ 640 IFFRE(0)<900THEN970 650 PRINTU4$L3$;:INPUTF$ 660 IFF$=U4$THEN710 670 PRINTCL$D3$;Z;"DATA ";F$ 680 PRINT"460 Z=";Z+10:PRINT"GOTO100" 690 POKE631,13:POKE632,13:POKE633,13:POKE198,3:PRINTHE$:END 700 REM ******************* MENUE * 710 PRINTCL$" "RE$RN$" "RF$ 720 PRINT" "RN$"ADRESSEN-REGISTER "RF$ 730 PRINT" "RN$" "RF$ 740 PRINT" "RN$"(C) AXEL KOHLMANN "RF$ 750 PRINT" "RN$" "RF$ 760 PRINTHE$D6$BK$" FUNKTIONSWAHL":PRINT 770 PRINTRE$RN$;:FORI=1TO20:PRINTY3$;:NEXT:PRINTRF$:PRINT 780 PRINTBK$" DRUECKE:":PRINT 790 PRINT" "RN$"1"RF$" DATENEINGABE" 800 PRINT" "RN$"2"RF$" DATENAUSGABE" 810 PRINT" "RN$"3"RF$" SORTIERUNG " 820 PRINT" "RN$"4"RF$" ADRESSEN SUCHEN" 830 PRINT" "RN$"5"RF$" ADRESSAENDERUNG" 840 PRINT" "RN$"6"RF$" PROGRAMMENDE" 845 PRINT" "RN$"7"RF$" ABSPEICHERN TAPE" 846 PRINT" "RN$"8"RF$" ABSPEICHERN DISK" 850 GETA$:IFA$=""THEN850 860 ONVAL(A$)GOTO460,1530,1030,1360,1840,1920,1950,1996 870 GOTO850 880 REM *** S FELD VON B$ TRENNEN * 890 DIMN$(N):FORI=0TON 900 LL=0 910 LL=LL+1 920 IFLL=LEN(B$(I))+1THEN950 930 IFMID$(B$(I),LL,1)="/"THEN950 940 N$(I)=N$(I)+MID$(B$(I),LL,1):GOTO910 950 NEXT 960 RETURN 970 PRINTC4$BL$" KEIN SPEICHERPLATZ MEHR VERFUEGBAR!" 980 FORI=1TO2000:NEXT:GOTO710 990 PRINTPU$RN$C2$C2$" DRUCKER EINSCHALTEN!! UND ZUR "RF$; 1000 PRINTRN$" BESTAETIGUNG RETURN-TASTE DRUECKEN "RF$ 1010 PRINTHE$D4$" "RN$"DRUCKER"RF$ 1020 POKE198,0:WAIT198,1:PRINTD3$" OK!":RETURN 1030 H4$=H4$+C2$+C2$+C2$+C2$+C2$+C2$ 1040 PRINTH4$" "PU$RN$"SORTIERUNG "RF$:PRINTD6$" "RN$"BITTE ETWAS GEDULD " 1050 N=1:GOSUB1060:GOTO1080 1060 READA$:IF A$="****"THENRESTORE:N=N-1:RETURN 1070 N=N+1:GOTO1060 1080 N=N-1:DIMB$(N):FORX=0TON:READB$(X):NEXT:RESTORE:GOSUB890 1090 PRINTCL$:GOSUB1100:GOTO1110 1100 PRINTHE$RE$RN$"ALPHABETISCHE SORTIERUNG DER NAMEN "RF$:RETURN 1110 FORI=0TON-1:K=I 1120 FORJ=I+1TON 1130 IFN$(J) ENDE"RF$; 1240 POKE198,0:WAIT198,1 1250 IFPEEK(631)<>13THEN1240 1260 POKE198,0:CLR:GOSUB110:GOTO710 1270 AS=ASC(N$(I))-64 1280 ONASGOTO1300,1310,1320,1330,1340,1350 1290 AS=AS-6:GOTO1280 1300 PRINTCY$;:RETURN 1310 PRINTRE$;:RETURN 1320 PRINTBK$;:RETURN 1330 PRINTPU$;:RETURN 1340 PRINTGR$;:RETURN 1350 PRINTBL$;:RETURN 1360 PRINTC2$C2$C2$C2$C2$" "PU$RN$"ADRESSEN SUCHEN"RF$ 1370 PRINTD5$" "RN$"BITTE ETWAS GEDULD"RF$ 1380 GOSUB1060:DIMB$(N):FORK=0TON:READB$(K):NEXT:GOSUB890 1390 PRINTCL$RE$RN$" SUCHEN EINER ADRESSE (RETURN-->ENDE) "RF$ 1400 PRINTD3$RE$"NAME: "; 1410 PRINTY5$C1$C1$C1$;:INPUTNA$:IFNA$=Y5$THEN1490 1420 FORK=0TON:IFNA$=N$(K)THENK2=K:GOTO1460 1430 NEXT 1440 PRINTD3$RE$" DIE ADRESSE IST NICHT GESPEICHERT " 1450 FORLT=1TO2000:NEXT:GOTO1390 1460 J=K2:K2=1:GOSUB1670:PRINTRE$RN$"OK? --> TASTE DRUECKEN"RF$ 1470 POKE198,0:WAIT198,1:POKE198,0 1480 GOTO1390 1490 CLR:GOSUB110:GOTO710 1500 GOTO2000 1510 L=1:PRINTC4$RE$RN$"WEITER? TASTE DRUECKEN"RF$;:POKE198,0:WAIT198,1 1520 PRINTCL$:GOSUB1100:FF$="":RETURN 1530 PRINTCL$RE$RN$"AUSGABE ALLER ADRESSEN"RF$ 1540 PRINTD2$BK$" AUSGABEGERAET:" 1550 PRINTC4$" "RN$"1"RF$" DRUCKER" 1560 PRINT" "RN$"2"RF$" BILDSCHIRM" 1570 PRINTD5$RE$RN$" BITTE WAEHLEN! "RF$ 1580 GETD$:IFD$=""THEN1580 1590 ONVAL(D$)GOTO1610,1620 1600 GOTO1580 1610 AG=4:GOSUB990:OPEN4,4:GOSUB1650:CLOSE4:RESTORE:CLR:GOSUB110:GOTO710 1620 PRINTHE$PU$D5$" "RN$"BILDSCHIRM"RF$D5$ 1630 PRINT" "C2$C2$C2$C2$ 1640 AG=3:GOSUB1650:RESTORE:CLR:GOSUB110:GOTO710 1650 GOSUB1060:DIMB$(N+1):FORJ=1TON+1 1660 READB$(J) 1670 FORC=0TO7:C$(C)=" ":NEXTC 1680 I=0:C=1 1690 I=I+1 1700 IFI=LEN(B$(J))+1THEN1730 1710 IFMID$(B$(J),I,1)="/"THENC=C+1:GOTO1690 1720 C$(C)=C$(C)+MID$(B$(J),I,1):GOTO1690 1730 IFK2>0THENGOSUB1810:RETURN 1740 GOSUB1780:NEXT 1750 PRINTRE$RN$" OK? ENDE --> RETURN "RF$ 1760 POKE198,0:WAIT198,1:IFPEEK(631)=13THENRETURN 1770 GOTO1760 1780 IFAG=4THENGOTO1830 1790 BI=BI+1:IFBI=2THENBI=0:PRINTRE$RN$"WEITER? TASTE DRUECKEN!"RF$; 1800 POKE198,0:WAIT198,1:PRINTCL$ 1810 FORC=0TO7:PRINTBK$C1$C$(C):NEXTC:RETURN 1820 REM ********* DRUCKER OUTPUT * 1830 FORC=0TO7:PRINT#4," ";C$(C):NEXT:RETURN 1840 PRINTCL$RE$RN$" ADRESSENAENDERUNG "RF$; 1850 PRINTRN$"(ANGABEN HINTER DEN DATAS AENDERN UND DANN"RF$; 1860 PRINTRN$" PROGRAMM ERNEUT MIT "RF$"RUN"RN$" STARTEN) "RF$; 1870 PRINTRN$"CTRL-TASTE ZUM VERLANGSAMEN VON LIST "RF$ 1880 PRINTD3$"LIST2000- : "KL$"RETURN"KR$" 1890 [129]K[178]1[164]2000:[130]:[151]631,13:[151]198,1 1900 [153]HE$D6$:[128] 1910 [137]710 1920 V[178] 1 1930 [153]CL$D3$"1920 V=";V[170]1:[153]"V=";V;":GOTO1890" 1940 [151]631,13:[151]632,13:[151]198,2:[153]HE$:[128] 1950 [141]110:[153]CL$RE$RN$"KASSETTE EINLEGEN UND"RF$ 1960 [153]RN$"DIE TASTE REC + PLAY "RF$ 1970 [153]RN$"DRUECKEN ! "RF$ 1980 [153]HE$D6$"SAVE"GF$"ADRESSEN";V;GF$ 1990 [151]631,13:[151]632,13:[151]198,2:[153]HE$D3$BK$:[128] 1995 [141]110:[137]710 1996 [153]CL$D6$"SAVE"GF$"@:ADRESSEN";V;GF$;",8" 1997 [153]HE$:[153]D3$BK$:[128] 2000 [131] COMMODORE WELT/REDAKTION/POSTFACH1107/D-8044 LOHHOF 2005 [131] COMMODORE/BUEROMASCHINEN GMBH/LYONER STRASSE 38/D-6000 FRANKFURT 71 2010 [131] COMMODORE/BUEROMASCHINEN GMBH/KINSKY STRASSE 40-44/A-1232 WIEN 9900 [131]"****" 9910 [143] ADRESSEN-REGISTER ======64 9920 [143] 038911 BYTES MEMORY === 9930 [143] 006499 BYTES PROGRAM === 9940 [143] 000343 BYTES VARIABLES === 9950 [143] 000000 BYTES ARRAYS === 9960 [143] 000090 BYTES STRINGS === 9970 [143] 031979 BYTES FREE (0) === 9980 [143] ==========================